Proving Correctness of the Translation from Mini - ML to the CAM withthe Coq Proof Development
نویسنده
چکیده
In this article we show how we proved correctness of the translation from a small applicative language with recursive deenitions (Mini-ML) to the Categorical abstract machine (CAM) using the Coq system. Our aim was to mechanise the proof of J. Despeyroux 10]. Like her, we use natural semantics to axiomatise the semantics of our languages. The axiomatisations of inferences systems and of the languages is nicely performed by the mechanism of inductive deenitions in the Coq system. Unfortunately both the source and the target semantics involve nested structures that cannot be formalised inductively. We have overcome this problem by making some slight modiications of both the source and target semantics and show how the changes in the source and target semantics are related. For the remaining tranlation we explain how we can use the Coq system to formalize non-terminating programs and incorrect programs, objects that are impossible to explain with only the formalism of natural semantics.
منابع مشابه
Trustworthy variant derivation with translation validation for safety critical product lines
Software product line (SPL) engineering facilitates development of entire families of software products with systematic reuse. Model driven SPLs use models in the design and development process. In the safety critical domain, validation of models and testing of code increases the quality of the products altogether. However, to maintain this trustworthiness it is necessary to know that the SPL t...
متن کاملGallimaufry: An Automated Framework for Proving Type-Safety
Gallimaufry is a novel language extension development framework with an integrated type-safety component. Its core component is a translator which translates programs written in a simple object-oriented language to semantically equivalent programs in a lambda calculus. A proof of the correctness of the translator is then constructed using an automated proof assistant, Coq. A user of Gallimaufry...
متن کاملInteractive Verification of Call-by-Value Functional Programs
A mechanized proof of total correctness enables one to verify a program with utmost confidence. Yet, setting up a methodology for reasoning formally on nontrivial code written in a generalpurpose language has appeared to be a highly challenging task. In this paper, we propose a framework for modular verification of purely functional code. By embedding the syntax and semantics of a call-by-value...
متن کاملPervasive Parallelism in Highly-Trustable Interactive Theorem Proving Systems
Interactive theorem proving is a technology of fundamental importance for mathematics and computer-science. It is based on expressive logical foundations and implemented in a highly trustable way. Applications include huge mathematical proofs and semi-automated verifications of complex software systems. Interactive development of larger and larger proofs increases the demand for computing power...
متن کاملAutomated verification of termination certificates
In order to increase user confidence, many automated theorem provers provide certificates that can be independently verified. In this paper, we report on our progress in developing a standalone tool for checking the correctness of certificates for the termination of term rewrite systems, and formally proving its correctness in the proof assistant Coq. To this end, we use the extraction mechanis...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1995